<?php

// Helper method to get a string description for an HTTP status code
// From http://www.gen-x-design.com/archives/create-a-rest-api-with-php/ 

function getStatusCodeMessage($status)
{
    // these could be stored in a .ini file and loaded
    // via parse_ini_file()... however, this will suffice
    // for an example
    $codes = Array(
        100 => 'Continue',
        101 => 'Switching Protocols',
        200 => 'OK',
        201 => 'Created',
        202 => 'Accepted',
        203 => 'Non-Authoritative Information',
        204 => 'No Content',
        205 => 'Reset Content',
        206 => 'Partial Content',
        300 => 'Multiple Choices',
        301 => 'Moved Permanently',
        302 => 'Found',
        303 => 'See Other',
        304 => 'Not Modified',
        305 => 'Use Proxy',
        306 => '(Unused)',
        307 => 'Temporary Redirect',
        400 => 'Bad Request',
        401 => 'Unauthorized',
        402 => 'Payment Required',
        403 => 'Forbidden',
        404 => 'Not Found',
        405 => 'Method Not Allowed',
        406 => 'Not Acceptable',
        407 => 'Proxy Authentication Required',
        408 => 'Request Timeout',
        409 => 'Conflict',
        410 => 'Gone',
        411 => 'Length Required',
        412 => 'Precondition Failed',
        413 => 'Request Entity Too Large',
        414 => 'Request-URI Too Long',
        415 => 'Unsupported Media Type',
        416 => 'Requested Range Not Satisfiable',
        417 => 'Expectation Failed',
        500 => 'Internal Server Error',
        501 => 'Not Implemented',
        502 => 'Bad Gateway',
        503 => 'Service Unavailable',
        504 => 'Gateway Timeout',
        505 => 'HTTP Version Not Supported'
    );
 
    return (isset($codes[$status])) ? $codes[$status] : '';
}
// Helper method to send a HTTP response code/message
function sendResponse($status = 200, $body = '', $content_type = 'text/html')
{
    $status_header = 'HTTP/1.1 ' . $status . ' ' . getStatusCodeMessage($status);
    header($status_header);
    header('Content-type: ' . $content_type);
    echo $body;
}



class ReturnInformation {




	function getData() {


/*
		$username = substr(strrchr($_SERVER['REMOTE_USER'], '\\'), 1);

		//get the current user and check for impersonation
		$developers = array("jarmitage","rblake","sjones","kwilliams","csmith1","rwilkins", "gcassidy");
		$student = $username; //"10106710";
		if (in_array(strtolower($username), $developers)) 
			{
			$username = "avaughan";
			}
		//end impersonation
*/
		
		$modref = $_GET["ref"];

		$theServer = "scc-sql-1";
		$connectionInfo = array("UID"=>"staff-ulive", "PWD"=>"readonly", "Database"=>"cdf");
		$conn = sqlsrv_connect( $theServer, $connectionInfo);
		
		
		
		$query = "exec srv_modAttendanceGraphData_overall ?";

		$query_Params = array($modref);
		
		$stuName = "no staff found";
			
		
			$runQuery = sqlsrv_query( $conn, $query, $query_Params);
			
			$response = array();
			
					if( $conn )
					{
						if ($runQuery)
						{
							//echo "here";
							while ($row = sqlsrv_fetch_array( $runQuery, SQLSRV_FETCH_ASSOC))
								{
									$posts[] = array(
										"modref"=>$row["modref"],
										"weekcommencing" => $row["wcLabel"],
										"attendance" => $row["wkAttendance"]
										);
									$response['attendance'] = $posts;	
								}
								
							$response['attendance'] = $posts;	

							sendResponse(200, json_encode($response));
							return true;
						}
						else
						{
							echo("query failed.\n");
							die(print_r(sqlsrv_errors(),true));
						}
					}
					else
					{
					     echo "Connection could not be established.\n";
					     die( print_r( sqlsrv_errors(), true));
					}		
	
		}


	
	
}




$api = new ReturnInformation;
$api -> getData();

?>